# def func3(a, b, c, d, e):
#     print(a, b, c, d, e)
# args = (11, 22, 33, 44, 55)
# func3(*args)
# print('--------------')
# kwargs = {'a': 'aa', 'b': 'bb', 'c': 'cc', 'd': 'cc', 'e': 'cc'}
# func3(**kwargs)

'''----角谷猜想----
角谷猜想又称冰雹猜想，是由日本数学家角谷静夫发现的一种数学现象，它的具体内容是：
以一个正整数n为例，如果n为偶数，就将它变为n/2，如果除后变为奇数，则将它乘3加1（即3n+1）。
不断重复这样的运算，经过有限步后，必然会得到1。
据日本和美国的数学家攻关研究，所有小于7×1 011的自然数，都符合这个规律。
本案例要求编写代码，计算用户输入的数据按照以上规律经多少次运算后可变为1。'''




'''----兔子数列----
兔子数列又称斐波那契数列、黄金分割数列，它由数学家列昂纳多·斐波那契以兔子繁殖的例子引出，故此得名。兔子繁殖的故事如下。
兔子一般在出生2个月之后就有了繁殖能力，每对兔子每月可以繁殖1对小兔子，假如所有的兔子都不会死，试问一年以后一共有多少对兔子？
本案例要求编写代码，利用递归实现根据月份计算兔子总数量的功能。'''


import pymysql
host='localhost'
port=3311
user='root'
password='123456'
database='test'
charset='utf8'
db = pymysql.Connect(host=host, port=port, user=user, password=password, database=database, charset=charset)

#准备SQL语句

#创建表
# sql=f"""
# create table t2(id int primary key auto_increment,name varchar(20),password varchar(20))
# """
#创建游标对象
# cursor = db.cursor()
# try:
#     cursor.execute(sql)
#     db.commit()  # 事务提交
#     print('表已创建')
# except Exception as e:
#     db.rollback()  # 事务回滚
#     print(e)

#插入数据
name='zhangsan'
password='333333'
sql=f""" 
insert into t1 values(null,'{name}','{password}')
"""
#创建游标对象
cursor = db.cursor()
try:
    cursor.execute(sql)
    db.commit()  # 事务提交
    print('数据已插入')
except Exception as e:
    db.rollback()  # 事务回滚
    print(e)

#修改数据
sql=f"""
update t1 set password='1234567' where name='zhangsan'
"""
#创建游标对象
cursor = db.cursor()
try:
    cursor.execute(sql)
    db.commit()  # 事务提交
    print('数据已更改')
except Exception as e:
    db.rollback()  # 事务回滚
    print(e)

#数据删除
# sql=f"""
# delete from t1 where name='zhangsan'
# """
# #创建游标对象
# cursor = db.cursor()
# try:
#     cursor.execute(sql)
#     db.commit()  # 事务提交
#     print('数据已删除')
# except Exception as e:
#     db.rollback()  # 事务回滚
#     print(e)

#数据查询
sql=f""" 
select * from t1
"""
#创建游标对象
cursor = db.cursor()
try:
    rows=cursor.execute(sql)
    data=cursor.fetchall()
    print('数据已更改')
except Exception as e:
    print(e)
for row in data:
    print(f'{row[1]}------{row[2]}')
#关闭数据库
cursor.close()
db.close()




